package org.example.completed.controller;

import io.jsonwebtoken.Claims;
import org.example.completed.dto.tokenCheck;
import org.example.completed.utils.ApiResponse;
import org.example.completed.utils.JwtUtil;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class checkToken {
    // token 的认证
    // 前端每次改变路由的时候都要访问这个接口
    @PostMapping("/check")
    public ApiResponse<?> check(@RequestBody tokenCheck tokenCheck) {
        String token = tokenCheck.getToken(); // 获取传递的token
        try{
            // 调用 JwtUtil 来解析token
            Claims claims = JwtUtil.checkToken(token);
            // 返回解析后的 token 信息（如用户名、权限等）
            return ApiResponse.success("验证成功","成功");
        }catch (Exception e) {
            // 捕获异常并返回失败响应
            return ApiResponse.failure("Token 无效或已过期");
        }
    }
}
